package com.dtease.agent.biz.resource.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dtease.agent.biz.resource.dto.BasStorageDTO;
import com.dtease.agent.biz.resource.entity.BasStorage;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 数据源表 Mapper 接口
 * </p>
 *
 * @author chentl
 * @since 2025-05-07
 */
public interface BasStorageMapper extends BaseMapper<BasStorage> {

    /**
     * 根据存储类型列表查询数据源
     *
     * @param storageTypeList 存储类型列表
     * @return 数据源列表
     */
    List<BasStorageDTO> listByTypes(@Param("storageTypeList") List<Integer> storageTypeList);

    /**
     * 根据表归属查询表标签集合
     *
     * @param tenantId      租户ID
     * @param storageId     存储ID
     * @param databaseName  数据库名称
     * @param tableName     表名称
     * @return 表标签集合
     */
    String  selectTableTags(@Param("tenantId") String tenantId,
                                 @Param("storageId") String storageId,
                                 @Param("databaseName") String databaseName,
                                 @Param("tableName") String tableName);
}
